import {pageModalTip as pagetip, filterIp, filterPort} from '/js/usemain.js';

'use strict'

//console.info('TEST ES6')
//==========================================================================
//
//==========================================================================
let dataarea = $('#myself').children('div:eq(1)').children('table').children('tbody');
let thispagerow = 20;
//==========================================================================
//
//==========================================================================
function myselfInitCSS(){
	$('#section2').css({"background-color":"#cccccc","display":"inline-block"});
}
function myselfInitFillTag() {
	let html='';
	for (let i = 0; i < thispagerow; i++) {
		html += '<tr class="row">'
			+ '<td class="col d-none">id</td>'
			+ '<td class="col">'
			+  '<div class="pl-3"></div>'
			+ '</td>'
			+ '<td class="col text-left">'
			+  '<button type="button" class="btn btn-danger ml-3 delete-myself">删除</button>'
			+ '</td>'
			+ '</tr>';
	}
	html += '<tr class="row" id="addmyself">'
		+ '<td class="col d-none"></td>'
		+ '<td class="col">'
		+  '<input type="text" class="ipcheck ml-3" placeholder="">'
		+ '</td>'
		+ '<td class="col text-left">'
		+  '<button type="button" class="btn btn-primary ml-3">保存</button>'
		+  '<button type="button" class="btn btn-info ml-3">取消</button>'
		+ '</td>'
		+ '</tr>';
	dataarea.html(html);
	dataarea.children().hide();
}

function myselfFillData(data) {
	let total = 0;
	if (data) {
		total = data.length > thispagerow ? thispagerow : data.length;
		$.each(eval(data), function(i, one) {
			if (i < total) {
				dataarea.children('tr:eq('+i+')').show();
				dataarea.children('tr:eq('+i+')').children('td:eq(0)').html(one.id);
				dataarea.children('tr:eq('+i+')').children('td:eq(1)').children('div').html(one.ip);
				if (0 == parseInt(one.id)) {
					dataarea.children('tr:eq('+i+')').children('td:eq(1)').children('div').addClass('text-primary');
					dataarea.children('tr:eq('+i+')').children('td:eq(2)').children().hide();
				} else {
					dataarea.children('tr:eq('+i+')').children('td:eq(2)').children().show();
				}
			}
		});
	}
}

function myselfClearDataOfRow(i) {
	if(i >= 0) {
		dataarea.children('tr:eq('+i+')').children('td:eq(0)').html('');
		dataarea.children('tr:eq('+i+')').children('td:eq(1)').children('div').html('');
		dataarea.children('tr:eq('+i+')').hide();
	}
}

function myselfClearAddTag(){
//	$('#addmyself').children('td:eq(0)').html();
	$('#addmyself').children('td:eq(1)').children('input').val(null);
	$('#addmyself').hide();
}
//==========================================================================
// 前端向后端的请求
//==========================================================================
function myselfAskSearch(){
	$.get('../ipself/getMyselfList', function(result) {
		if (result.status>=0) {
			if (result.data) {
				myselfFillData(result.data);
			}
		} else {
			if (result.tips && result.tips.length>0) {
				pagetip('本机ip列表', result.tips);
			} else {
				pagetip('本机ip列表', '获取列表失败');
			}
		}
	});
}
function myselfAskAdd(ip){
	if (ip) {
		$.get('../ipself/addMyself', {
			'ip' : ip
		}, function(result) {
			if (result.status >= 0 && result.data) {
				pagetip('本机ip列表', '新增成功');
				myselfSearch();
			} else {
				if (result.tips && result.tips.length > 0) {
					pagetip('本机ip列表', result.tips);
				} else {
					pagetip('本机ip列表', '新增失败');
				}
			}
		});
	}
}
function myselfAskDel(id){
	if (id && id<0) {
		$.get('../ipself/delMyself', {
			"id" : id
		}, function(result) {
			console.info(result)
			if (result.status>=0) {
				if (result.data) {
					pagetip('本机ip列表', '删除成功');
					myselfSearch();
				} else {
					pagetip('本机ip列表', '删除失败');
				}
			} else {
				if (result.tips && result.tips.length > 0) {
					pagetip('本机ip列表', result.tips);
				} else {
					pagetip('本机ip列表', '删除失败');
				}
			}
		});
	}
}
//==========================================================================
// 界面按钮的事件
//==========================================================================
function myselfSearch(){
	for (let i = 0; i < thispagerow; i++) {
		myselfClearDataOfRow(i);
	}
	myselfClearAddTag();
	myselfAskSearch();
}

function myselfDelete(){
	let rowtr = $(this).parent().parent();
//	let index = rowtr.index();
	let id = rowtr.children('td:eq(0)').html();
	myselfAskDel(id);
}
function myselfAdd(){
	$('#addmyself').show();
	$('.delete-myself').hide();
}
function myselfCancel(){
	myselfClearAddTag();
	$('.delete-myself').show();
	$('.delete-myself:eq(0)').hide();
}
function myselfSave(){
	myselfAskAdd($('#addmyself').children('td:eq(1)').children('input').val());
}
//==========================================================================
// 初始化执行操作
//==========================================================================
myselfInitCSS();// 只执行一次
myselfInitFillTag();// 只执行一次
myselfSearch();
//==========================================================================
// 给界面按钮绑定事件
//==========================================================================
$('#myself').children('div:eq(0)').children('div:eq(0)').click(myselfSearch);
$('.delete-myself').click(myselfDelete);
$('#myself').children('div:eq(0)').children('div:eq(1)').click(myselfAdd);
$('#addmyself').children('td:eq(2)').children('button:eq(0)').click(myselfSave);
$('#addmyself').children('td:eq(2)').children('button:eq(1)').click(myselfCancel);
